package com.yxb.application.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yxb.common.annotation.Excel;
import com.yxb.common.core.domain.BaseEntity;

/**
 * 家教申请对象 teacher_application
 * 
 * @author 林德炫
 * @date 2025-03-28
 */
public class TeacherApplication extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 家教申请唯一标识 */
    @Excel(name = "家教申请唯一标识")
    private Long applicationId;

    /** 教员姓名 */
    @Excel(name = "教员姓名")
    private String teacherName;

    /** 头像 */
    @Excel(name = "头像")
    private String avatar;

    /** 教员ID */
    private Long userId;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 年龄 */
    @Excel(name = "年龄")
    private Long age;

    /** 申请辅导科目 */
    @Excel(name = "申请辅导科目")
    private String subject;

    /** 所在学校 */
    @Excel(name = "所在学校")
    private String school;

    /** 所学专业 */
    @Excel(name = "所学专业")
    private String major;

    /** 最高学历 */
    @Excel(name = "最高学历")
    private String education;

    /** 资格证书 */
    @Excel(name = "资格证书")
    private String certification;

    /** 教学经历 */
    @Excel(name = "教学经历")
    private String teachingExp;

    /** 个人介绍 */
    @Excel(name = "个人介绍")
    private String introduction;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String phoneNumber;

    /** 电子邮箱 */
    @Excel(name = "电子邮箱")
    private String email;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicationTime;

    /** 申请状态 */
    @Excel(name = "申请状态")
    private String status;

    /** 期望时薪 */
    @Excel(name = "期望时薪")
    private BigDecimal hourlyRate;

    public void setApplicationId(Long applicationId) 
    {
        this.applicationId = applicationId;
    }

    public Long getApplicationId() 
    {
        return applicationId;
    }
    public void setTeacherName(String teacherName) 
    {
        this.teacherName = teacherName;
    }
    public String getTeacherName() 
    {
        return teacherName;
    }

    public void setavatar(String avatar) 
    {
        this.avatar = avatar;
    }
    public String getavatar() 
    {
        return avatar;
    }

    public void setuserId(Long userId)
    {
        this.userId = userId;
    }
    public Long getuserId()
    {
        return userId;
    }

    public void setGender(String gender) 
    {
        this.gender = gender;
    }
    public String getGender() 
    {
        return gender;
    }

    public void setAge(Long age) 
    {
        this.age = age;
    }
    public Long getAge() 
    {
        return age;
    }

    public void setSubject(String subject) 
    {
        this.subject = subject;
    }
    public String getSubject() 
    {
        return subject;
    }

    public void setSchool(String school) 
    {
        this.school = school;
    }
    public String getSchool() 
    {
        return school;
    }

    public void setMajor(String major) 
    {
        this.major = major;
    }
    public String getMajor() 
    {
        return major;
    }

    public void setEducation(String education) 
    {
        this.education = education;
    }
    public String getEducation() 
    {
        return education;
    }

    public void setCertification(String certification) 
    {
        this.certification = certification;
    }
    public String getCertification() 
    {
        return certification;
    }

    public void setTeachingExp(String teachingExp) 
    {
        this.teachingExp = teachingExp;
    }
    public String getTeachingExp() 
    {
        return teachingExp;
    }

    public void setIntroduction(String introduction) 
    {
        this.introduction = introduction;
    }
    public String getIntroduction() 
    {
        return introduction;
    }

    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }
    public String getPhoneNumber() 
    {
        return phoneNumber;
    }

    public void setEmail(String email) 
    {
        this.email = email;
    }
    public String getEmail() 
    {
        return email;
    }

    public void setApplicationTime(Date applicationTime) 
    {
        this.applicationTime = applicationTime;
    }
    public Date getApplicationTime() 
    {
        return applicationTime;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }
    public String getStatus() 
    {
        return status;
    }

    public void setHourlyRate(BigDecimal hourlyRate)
    {
        this.hourlyRate = hourlyRate;
    }
    public BigDecimal getHourlyRate()
    {
        return hourlyRate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("applicationId", getApplicationId())
            .append("teacherName", getTeacherName())
            .append("avatar", getavatar())
            .append("userId", getuserId())
            .append("gender", getGender())
            .append("age", getAge())
            .append("subject", getSubject())
            .append("school", getSchool())
            .append("major", getMajor())
            .append("education", getEducation())
            .append("certification", getCertification())
            .append("teachingExp", getTeachingExp())
            .append("introduction", getIntroduction())
            .append("phoneNumber", getPhoneNumber())
            .append("email", getEmail())
            .append("applicationTime", getApplicationTime())
            .append("status", getStatus())
            .append("hourlyRate", getHourlyRate())
            .toString();
    }
}
